package com.arpa.wms.scheduled.service;


import com.arpa.wms.scheduled.domain.dto.OmsOrderSetDTO;
import com.arpa.wms.scheduled.domain.entity.OmsOrderSet;
import com.arpa.wms.scheduled.domain.enums.StatusEnum;
import com.arpa.wms.scheduled.domain.vo.OmsOrderSetVO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;


/**
 * <p>
 * OMS接单设置服务类
 * </p>
 *
 * @author rfwang
 * @since 2021-08-10
 */
public interface IOmsOrderSetService extends IService<OmsOrderSet> {


    /**
     * 重启任务
     * @author liuxr
     * @date 2021/8/16 8:39
     * @param code
     * @return java.lang.Boolean
     */
    Boolean restart(String code);

    /**
     * 停止任务
     * @author liuxr
     * @date 2021/8/16 8:42
     * @param code
     * @return java.lang.Boolean
     */
    Boolean stop(String code);

    /**
     * 启动任务
     * @author liuxr
     * @date 2021/8/16 8:43
     * @param code
     * @return java.lang.Boolean
     */
    Boolean start(String code);

    void initAllTask(List<OmsOrderSet> scheduledTaskBeanList);

    Map<String,Object> activeStatus(List<String> code, StatusEnum active);

    /**
     * 查询列表
     * @param orderSetDTO
     * @return
     */
    List<OmsOrderSetVO> queryList(OmsOrderSetDTO orderSetDTO);

    /**
     * 查询合计,包含总数
     * @param orderSetDTO
     * @return
     */
    OmsOrderSetVO queryListSum(OmsOrderSetDTO orderSetDTO);

    /**
     * 添加接单设置
     * @param entity
     */
    @Override
    boolean save(OmsOrderSet entity);

    /**
     * 根据code更新实体
     * @param entity
     * @return
     */
    int updateByCode(OmsOrderSet entity);
}
